package com.bbx.taxi.client.Bean.Message;

import org.json.JSONObject;

import com.bbx.api.gclient.GMsg;
import com.bbx.api.sdk.model.passanger.Return.Jmsg.Msgs;


public interface ObserverListener {
	public enum DATA_STATUS{
		SUCCESS,FAIL,TIMEOUT,ERROR
	}
	/**
     * 数据请求类型
     */
    public enum DATA_TYPE{
         TOKEN,
         VERSION,
         /**优惠卷数量*/
         COUPONCOUNT,
         /**活动*/
         ACTIVITY,
         /**可用优惠劵*/
         COUPONUSABLE,
         /**用户信息*/
         USER,
         /**价格请求*/
         PRICE,
         /**城内城际所有线路价格(客户端使用)*/
         PRICEALL,
         /**订单提交*/
         ORDERSUBMIT,
         /**获取线路*/
         LINE,
         /**进行中的订单*/
         ORDERING,
         /**取消原因*/
         CANCELREASON,
         /**取消订单*/
         CANCEL,
         /**添加感谢费*/
         ADDTHANKS,
         /**位置信息*/
         LOCATIONINFO,
         /**附近的司机*/
         NEARBYDRIVERAR,
         /**继续等待*/
         WAIT,
         /**市内订单被推送状态*/
         PUSHSTATUS,
         /**分享活动*/
         SHAREDETAIL,
         /**订单详情*/
         ORDERDETAIL,
         /**获取可用车型*/
         CARTYPE,
         /**推荐上车点*/
         TUIJIAN,
         /**市内跟包车的计价服务*/
         METEREDFEE,
         /**上一次价格*/
         LASTPRICE,
         /**下单立减*/
         USABLESALE,
         /**乘客app启用/唤醒时调用(未登入用户不需要调用)*/
         STARTUP,
         /**余额查询*/
         BALANCE,
         /**充值*/
         RECHARGE,
         /**订单支付*/
         PAY,
         /**验证码*/
         CODE,
         /**登陆*/
         LOGIN,
         /**配置*/
         SVCONFIG
    }
	/**
	 * 推送方法
	 */
	public void onNotify(int type,JSONObject jb,Msgs.Data msgs_data);
	/**
	 * 自定义推送方法
	 */
	public void onNotify(int type,Object object);
	
	/**
	 * 服务器请求返回的结果
	 * @param status  请求成功还是失败
	 * @param object  类型
	 */
	public void onNotifyData(DATA_STATUS status,DATA_TYPE type,int code,Object object);
}
